import { ITableParams } from "@/utils/types/table.ts";

export interface IMenuTableParams extends ITableParams {
  menuName?: string;
}
export interface ITableData {
  parentId: number;
  menuId: number;
  orderNum: string;
  path: string;
  component: string;
  perms: string;
  createTime: string;
  children?: ITableData[];
}
export interface ITypeState {
  tableData: ITableData[];
  loading: boolean;
  total: number;
}
export interface IMenuTree {
  menuId: number;
  menuName: string;
  children: ITableData[];
}

export interface IFormState {
  parentId: number;
  menuType: string;
  icon: string;
  menuName: string;
  orderNum: number | null;
  path: string;
  component: string;
  perms: string;
  menuId: number | null;
  visible: string;
  menuKey: string;
}

export type FormStateKeys = keyof IFormState;
